package com.zf.rabbitmq.consumer.listener.delay;

import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * 消费延迟队列
 */
@Component
public class DelayConsumer {
    /**
     * 消费 test_delay_plugin_queue 队列，
     * 可以用 Message 接收，也可以用 String 接收：
     * - 如果用 Message 接收，则获取的是 消息体（byte[]body） 和 消息的详细信息
     * - 如果用 String 接收消息，获取的其实是 Message 中 byte[]body 字节数组中的数据转换成的 String
     * - 可以两个都写，也可以只写一个，且没有顺序要求。
     */
    @RabbitListener(queues = {"test_delay_plugin_queue"})
    public void consumeTestTopicQueue1(Message message, String msg) {
        System.out.printf("test_delay_plugin_queue 队列中的内容：%s\n Message：%s; Msg: %s\n", new String(message.getBody()), message, msg);
    }
}
